perm filename NSF2.PRO[ESS,JMC]1 blob
sn#022370 filedate 1973-01-28 generic text, type T, neo UTF8
00100 This is a request for a grant of xxx to enable the Stanford
00200 University Artificial Intelligence Laboratory to carry out research
00300 aimed at the development of home computer terminals for three years
00400 starting 1 July 1973.
00500
00600 Even before the idea of computer time-sharing was worked out,
00700 much less actually developed, the idea of the home information
00800 terminal appeared. Some of the ideas go back to Vannevar Bush's "As
00900 We May Think" and some of them appeared even earlier in science
01000 fiction. The general idea is to give everyone immediate access to
01100 both permanent and temporary information, to computing services for
01200 transforming this information, and to computer aid in interacting
01300 with other people and institutions. Examples cited include immediate
01400 access to the whole of the world's literature, information about what
01500 is for sale and what entertainment is available, computer aided
01600 instruction and computer aids to the design and construction of
01700 individualized furniture and clothes, direct access to airline and
01800 other reservation systems, and buying programs that will help in
01900 getting the best buy. A rather full discussion of the benefits of a
02000 developed home terminal system is contained in a paper "Home
02100 Terminals" by John McCarthy reproduced as Appendix A to this
02200 proposal.
02300
02400 The ideas discussed in that paper have one common theme - the
02500 use of technology, in this case computer technology, to enhance the
02600 capabilities of the individual and strengthen him in his dealings
02700 with the institutions of our society. We see this as coming about in
02800 the following ways all of which are discussed more fully in the
02900 paper:
03000
03100 1. Anyone can create a file and make it publicly available,
03200 and this constitutes publication. This will not make all
03300 publications equal, but it will certainly strengthen individuals and
03400 small groups relative to large institutions.
03500
03600 2. The computer is a device that considers individual cases
03700 cheaply. To the extent that programs and program controlled devices
03800 are available, it permits attention to an individual's needs at costs
03900 now attainable only by mass production. This potentially applies to
04000 education, production, and even law.
04100
04200 Computer technology is now essentially ready to realize the
04300 home terminal, but there are a number of obstacles to be overcome,
04400 and the proposed research is intended to identify them and help
04500 overcome them. Here are those we see now:
04600
04700 1. The first obstacle is the cost of the terminals,
04800 communications, time-shared computers, and bulk information storage
04900 devices. In our opinion, home terminals will have a substantial
05000 market when the cost of a terminal and nominal services comes into
05100 the range of $50 to $100 per month. Electronics costs are reducing
05200 at a rate that will make this feasible in a few years, and we do not
05300 propose to work on this problem directly in this research. In fact,
05400 we expect to use quite flexible terminals which will therefore not be
05500 the cheapest available today.
05600
05700 2. The full development of the above facilities requires
05800 hundreds of thousands of man years of programming and institutional
05900 changes in our society. What can be done easily may not be useful
06000 enough to justify purchase of home terminals by enough people to make
06100 a viable system. We have already put much thought into determining a
06200 dozen or so applications that are feasible now and will add up to a
06300 worthwhile package. We will name some in this proposal, and we hope
06400 to think of more.
06500
06600 3. Home terminal applications will mostly be elaborate
06700 programs that interact with the user, file structures, and other
06800 programs. All programs with these characteristics that have been
06900 built so far have been tightly bound to the languages, time-sharing
07000 systems, and hardware of the institutions where they were developed
07100 and transplanting them has been extremely difficult. On the other
07200 hand, it is very important that home terminal application programs
07300 become universally available as soon as they are developed. We
07400 believe that the key to making this possible technically is the
07500 identification of the basic semantic elements of interactive programs
07600 separated from their syntactic expression in programming languages
07700 and the details of their realization on particular hardware. We
07800 propose to study these issues from the standpoint of computer
07900 science.
08000
08100 Another computer science issue that arises is making the
08200 programs easily usable by infrequent users. Many present programs
08300 exhibit what might be called the instrument flying difficulty. If
08400 you haven't used it for six hours in the last six months, you are no
08500 longer qualified. We believe that it is possible to develop a uniform
08600 system for all kinds of programs that is reasonably self-documenting.
08700
08800
08900 4. Home terminal services are not a natural monopoly and it
09000 is important to allow access to programs that are not the property of
09100 the time-sharing service bureaus that provide the computation and
09200 also to allow a user to connect his terminal to whatever computer
09300 seems best to him at the time. (We emphasize this point, because
09400 some advocates of home information services via CATV seem to propose
09500 systems in which the information services would be monopolies of the
09600 local CATV companies.) We propose to put a small effort into working
09700 out the most desirable way of institutionalizing the provision of
09800 home terminal service.
09900
10000 In support of these goals, we propose the following
10100 activities which will be described in more detail in subsequent
10200 sections of the proposal:
10300
10400 1. We will acquire a number of remote display terminals and
10500 attach them to the PDP-10 based time-sharing system of the Stanford
10600 Artificial Intelligence Laboratory. Some will be located in the
10700 homes of suitable users and others will be located in public places
10800 on the Stanford campus. (It will be explained later that public
10900 terminals will be more effective than home terminals for some
11000 experiments).
11100
11200 2. We will develop a package of applications, make them
11300 available, measure their use, and ask what the users think of them.
11400
11500 3. We will study the computer science problems involved in
11600 developing these highly interactive programs and in making them
11700 transportable.
11800
11900 4. We will study the problem of making application programs
12000 that are usable in a uniform and easily learnable way and are
12100 unobtrusively self-documenting.
12200
12300
12400 In all this, our emphasis will be on the application programs
12500 rather than on the terminal, communication, or computer hardware or
12600 the time-sharing operating system itself. In all these areas we will
12700 rely on existing facilities first, off-the-shelf purchasable
12800 facilities second, and home grown ad hoc solutions only when
12900 necessary.
13000
13100 It is necessary to recognize that this is a new area of
13200 computer science and engineering and that it will take time to
13300 develop real professionals. We hope that graduate students will find
13400 this a fruitful area for their initial scientific work.
00100 AN INITIAL SET OF HOME TERMINAL APPLICATIONS
00200
00300 We won't get all books and newspapers published as computer
00400 files or get all car dealers to advertise their chariots through the
00500 public information utility until there are enough home terminals to
00600 make a market, and the home terminal won't reach its full usefulness
00700 until these facilities are available. In fact, it is non-trivial to
00800 devise a set of applications that can be done now useful enough to
00900 justify anyone but a programmer tolerating a terminal in his house
01000 let alone paying for it. Nevertheless, we think we have a set of
01100 home terminal applications large enough to make a viable system and
01200 we hope to think of more. It wasn't easy, but here they are:
01300
01400 1. First of all, Martin Frost, one of our graduate students,
01500 has already programmed a news service based on the Associated Press
01600 national and international news wire and put it into our time-sharing
01700 system. The AP wire is connected to the computer, and the stories
01800 are classified and filed on the disk as they come in. The present
01900 classification is according to the presence of several hundred key
02000 words in the stories - e.g. the names of countries, states, cities,
02100 prominent people, and various topics. A user of the system gives a
02200 Boolean combination of key words (e.g. Nixon - Vietnam) and his told
02300 how many stories there are corresponding to this expression (e.g. he
02400 may be told there are 11 stories containing the word Nixon and not
02500 the word Vietnam). He can then see the first few lines of these
02600 stories and select which ones he wishes to read in full. The program
02700 has been available since August and is used about 1000 times per
02800 month, about half of the use is from our laboratory and about half
02900 over the ARPA network. With publicity, it would be more used which
03000 would not be to our advantage.
03100
03200 This preliminary experiment is the only one we have already
03300 done. We propose to improve it in various ways, and here are some of
03400 the possibilities: add more news, keep more than one day's worth,
03500 allow a keyword like "animal" to get all stories mentioning dogs,
03600 cats, etc., give the system some sophisticated question answering and
03700 information retrieval capability, and see what can be done by a human
03800 editor aided by the computer in producing a more useful computerized
03900 "newspaper". To tell the truth, the program has been so well
04000 accepted in its initial crude form that making it sophisticated may
04100 merely gild the lily, but we shall see.
04200
04300
04400 2. The second application is simply reading. Initially,
04500 there won't be much entertaining or educational reading in the
04600 system, but we can put some in for the purpose. It is necessary to
04700 determine what aids such as "subroutine jumps" to cross references
04800 will be helpful and how the advantages of such computer aids compare
04900 with the advantages of hard copy. We do not forsee a good individual
05000 hard copy device during the research period proposed here.
05100
05200 3. A local information system updated by a clerk. In this,
05300 it is not obvious how to compete with the local newspaper, but very
05400 likely there is enough information not kept in newspapers to be worth
05500 having one full time clerk putting it in. If there is, we'll employ
05600 the clerk.
05700
05800 4. Connection to institutional computer systems.
05900 Possibilities are airline reservation systems, ticket booking
06000 systems, and the University's administrative computer system. The
06100 idea is to make interfaces that are uniform to the home terminal user
06200 and give him the facilities that the proprietor of the computer
06300 system is willing for individuals to have. A way of having the user
06400 identify himself may be necessary. It may be possible to get at one
06500 blow access to systems residing in a local time-sharing service
06600 bureau. In general, we will explore the possibilities of
06700 co-operating with them and perhaps having them take over the services
06800 when this is reasonable.
06900
07000 Another possibility in this direction arises in connection
07100 with the fact that financial institutions are studying electronic
07200 transfer of funds. We would like to consider this question in
07300 connection with the home terminal and see how this facility might be
07400 integrated into the larger set of services that a home terminal might
07500 provide. We suspect that the financial institutions might have too
07600 specialized interests to do this right and might welcome some
07700 interaction.
07800
07900 5. CAI. We propose to make this an exercise in
08000 transplantation. The idea is not to make our own
08100 computer-aided-instruction system but rather solve the problem of
08200 transplanting an already developed system to our machine.
08300
08400 6. Desk calculation with extensions. This is straightforward
08500 and of limited usefulness to most people, but we'll do it.
08600
08700 7. A discussion system based on the articles in a magazine.
08800 This would require having a number of users interested in reacting in
08900 writing to discussion on a topic. It may or may not be feasible.
09000
09100 8. Other applications that have been suggested include
09200 finding the best route for driving to an address, some amusements and
09300 games, and some kind of clothing design system. We don't promise to
09400 do all those mentioned and will undoubtedly do some not mentioned.
09500
09600 It is not clear how difficult it is to do these applications
09700 or how long it will take to get people to take a professional
09800 interest in them.
00100 QUESTIONS OF COMPUTER SCIENCE
00200
00300
00400 The main questions of computer science that we have
00500 identified so far are:
00600
00700 1. How to make programs that interact with people, files, and
00800 computers portable. The key to this seems to lie in identifying the
00900 semantics of the interactions and separating it from syntax and
01000 hardware.
01100
01200 2. A second problem is to develop a language for expressing
01300 the kinds of things computer programs belonging to different
01400 institutions or individuals might say to each other. These include
01500 price and other inquiries, purchase orders, etc. This problem goes
01600 beyond the home terminal application.
01700
01800 3. A uniform system for making the facilities of a program
01900 available to an inexperienced user - distinguishing a user who is
02000 inexperienced with the particular program from the user who is
02100 inexperienced with interactive programs altogether. The latter needs
02200 some tutoring, but the former can probably do a lot without reading
02300 or formal instruction if things work in a uniform and
02400 self-documenting way. This is especially important in the home
02500 terminal context, because we envisage that when home terminals are
02600 well developed, there will be literally thousands of services
02700 available, and the utility of any particular service will depend on
02800 how easy it is to start using it.
02900
03000 4. One idea we shall explore is that of non-hierarchical
03100 control systems which allow a user to get at any facility of the
03200 system whatever he has just been doing without losing the state of
03300 his current activity.
03400
03500 5. We shall work on the problems of security and privacy of
03600 presented by home terminals to assure both the privacy of the
03700 individual and the security of the systems that he uses.
03800
03900 6. Home terminals raise a number of problems in display
04000 generation and maintenance. Present systems are far from ideal.
04100
04200 7. The widespread sharing of interactive programs will
04300 probably require a number of software and hardware standards. We
04400 propose to study the requirements for a standard general purpose
04500 terminal only those features required to make services work
04600 everywhere would be standardized, a standardizable set of display
04700 commands, a standardizable set of operations for human interaction
04800 and interaction with files, a file description system that would
04900 permit any file on a mass storage device in the country to be
05000 described so that data could be obtained from it over
05100 telecommunication networks, and standards for documents in arbitrary
05200 character sets and with pictures.
05300
05400 The object of these standardizability efforts is not to get
05500 the standards accepted, although this might happen if we design them
05600 well enough. All we really propose to do is to study the problems
05700 from a non-parochial point of view and make proposals that could be a
05800 basis for discussion of standards.
00100 QUALIFICATIONS OF THE STANFORD ARTIFICIAL INTELLIGENCE LABORATORY
00200
00300
00400 The Laboratory has operated a time-sharing system since 1966,
00500 now equipped with a PDP-10 processor, 256K 36 bit words of core, a
00600 swapping disk, an IBM 3330 based file system with 600,000,000 bytes
00700 of storage and about 60 display terminals. About 45 users are
00800 supported by the current system which is mainly limited by CPU power.
00900 The time-sharing system is quite stable. The Laboratory has been
01000 mainly supported by a research contract with the Defense Advanced
01100 Research Projects Agency's Office of Information Processing
01200 Techniques. The research has concerned artificial intelligence,
01300 picture processing, robotics, speech recognition, and mathematical
01400 theory of computation. The Laboratory has good capability in
01500 time-sharing system design, programming languages, and in the design
01600 and fabrication of computer hardware.
01700
01800 We also have extensive experience in using the computer for
01900 composing, editing and printing documents. Most of our reports are
02000 prepared directly at a display terminal and we are putting into
02100 service a printer that can put out arbitrary character texts and line
02200 drawings. This gives us extensive experience in the use of computers
02300 for interactive tasks other than programming and in writing
02400 interactive programs that make this easy.
00100 PERSONNEL
00200
00300 McCarthy, Earnest and who else
00100 STAFF
00200
00300 1. A fraction of McCarthy
00400
00500 2. A fraction of Feldman or Green or Winograd.
00600
00700 3. A research associate
00800
00900 4. two or three graduate students
01000
01100 5. one professional programmer maybe two
01200
01300 6. a hardware hacker
01400
01500 7. a clerk
01600
01700 HARDWARE
01800
01900 1. About 10 remote terminals. The type is not yet
02000 determined, but we believe that they should be capable of displaying
02100 a good fraction of a page of arbitrary character set text plus
02200 pictures. Such terminals will be economical by the time the other
02300 aspects are worked out and the utility of many of the applications of
02400 home terminals depend on good quality terminals. We only wish it
02500 were feasible to include a fast, silent, fully capable hard copy
02600 device with the terminal. Perhaps a telephone based facsimile
02700 machine will do for experiments in spite of its slowness. If we can
02800 get them soon enough, a single terminal version of the display system
02900 devised by Peter Wiener at Yale would be good.
03000
03100 2. Communication. For our experimental remote terminals, we
03200 expect to use private lines leased from the telephone company. They
03300 are available and reasonably economical.
03400
03500 3. An increase in processing power. KI10 or part of Foonly.
03600
03700 4. A new multiplexor for our computer to handle low speed
03800 communication channels.